package com.spsoft.vatoutinv.service.nvatoutinvoice;

import com.spsoft.core.model.Result;
import com.spsoft.vatoutinv.entity.vmsfulloutinvoice.VmsFullOutInvoiceDetails;
import com.spsoft.vatoutinv.entity.vmsfulloutinvoice.VmsFullOutInvoiceItems;
import com.spsoft.vatoutinv.model.vo.transflowfindinvoice.TransFlowRecallInvoiceInfoVO;

import java.util.List;

/**
 * 老增值税系统接口
 *
 * @author : chenxudong
 * @date : 2023/12/14 16:36
 */
public interface NvatOutInvoiceService {

    /**
     * 插入老增值税系统发票主表，返回主键id
     */
    Long insertNvatOutInvoiceDetails(VmsFullOutInvoiceDetails vmsFullOutInvoiceDetails, String deptCode, String fpdm);

    /**
     * 插入老增值税系统发票明细表，返回主键id
     */
    Long insertNvatOutInvoiceItems(VmsFullOutInvoiceItems vmsFullOutInvoiceItems, Long oidId);

    /**
     * 根据主键id删除老增值税系统发票主表
     */
    int deleteNvatOutInvoiceDetails(Long oidId);

    /**
     * 根据主键id删除老增值税系统发票主表
     */
    int deleteNvatOutInvoiceItems(Long iviId);

    /**
     * 交易流水追溯发票-查询发票信息
     * @param rdid
     * @return
     */
    Result<List<TransFlowRecallInvoiceInfoVO>> queryInvoiceByRdid(Integer rdid);
}
